1. Field of the Invention
The present invention relates to a network game system including a plurality of network game terminals each having different throughput and a network game server which stores network game applications and processes packet data transmitted from the network game terminals, the network game terminals and the network game server being connected via a network, and a network game server and a network game terminal that can be used to be constituents of such a system.
2. Description of the Related Art
A real-time network game system has heretofore been known in which a server has game management software and terminals have game software. When the users of the terminals play a game by operating game software on their terminals, data is generated on each terminal, and, out of the data, at least data required for other users to play the game is transmitted to the server. Other users having access to the server read the data transmitted to the server. Based on the data thus read, the remote users play the game together concurrently, using the game software stored in their terminals. This system is disclosed in JP-A No. 6700/1997. As another network game system, a game system nursing a virtual living thing via a network is disclosed in JP-A No. 296271/2000. Client terminals access a server via a computer network and nurse a virtual living thing in a virtual space provided by the server.
Such gaming via a network enables a great number of people to play a game simultaneously and information for all users concentrates at a game server on the network. For a network game for which the real-time processing ability of the machine used to participate in it is essential requirement, difference in throughput across the participants' game terminals brings about unfairness across the game players. For example, when playing a kind of fight game across on-line participants, a game player using a machine with a higher CPU processing speed would always be advantageous in getting points of the game.
FIG. 4 is a timing chart representing the operations of two game terminals over time and their CPUs differ in processing speed. A game terminal 10 has a CPU whose processing speed is higher than the CPU of a game terminal 20. The timing chart represents the operation progress in a cycle; the game terminals 10 and 20 process data received from the server, return the result of processing the data to the server, and receive the result of the server processing of the data from the server. Time t1 in which the game terminal 10 processed the data is shorter than time t2 in which the game terminal 20 processed the corresponding data. Therefore, even if it takes equal time to transmit data from the game terminals 10 and 20 to the server, the server starts to process the data received from the game terminal 10 earlier. Accordingly, time difference between the operations of the two game terminals 10 and 20 gradually increases until they receive the result of the server processing of the data from the server.
As means for eliminating the unfairness by throughput difference across game terminals, an idea was proposed that the server be provided with a function of adjusting a lag when transmitting packet data to the participants' game terminals, considering the processing speed of the components such as CPU of the game terminals. That is, the game server initially measures the throughput of a game terminal used by each player and stores data transmission time lags according to the throughput of each game terminal in its database. When the server transmits packet data to each game terminal, it keeps the data in a buffer for a time equaling the time lag set per terminal. In this way, the server can adjust the time lag of data transmission.
With the increasing number of players participating in a network game, however, the following problem arose. The server need to know the processing speeds of all game terminals connected to the network and it takes more time to measure them. Moreover, creating a database for determining a time lag for each terminal takes time.
Most of the game terminals are products supplied from only a limited number of manufactures thereof and the number of types thereof is not so many. Notwithstanding, the server calculates and stores the time lags for all game terminals. This was inefficient. Moreover, each time a game terminal transmits data to the server, access to the database and reading the adjustment time lag set for the terminal must be performed and the time consumed for this is undesirable.
Furthermore, an extensive network requires memory space expansion for creating the database, which posed a problem of great costs of database provision.